package com.tongna.ucrawler.domain;

public class SiteUrl {
  
  private Integer level;
  
  private String url;
  
  private SiteUrl parent;
  
  public Integer getLevel() {
    return level;
  }
  
  public void setLevel(Integer level) {
    this.level = level;
  }
  
  public String getUrl() {
    return url;
  }
  
  public void setUrl(String url) {
    this.url = url;
  }
  
  public SiteUrl getParent() {
    return parent;
  }
  
  public void setParent(SiteUrl parent) {
    if (parent.getLevel() == null) {
      parent.setLevel(1);
    }
    this.level = parent.getLevel() + 1;
    this.parent = parent;
  }
  
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    
    SiteUrl siteUrl = (SiteUrl) o;
  
    return url != null ? url.equals(siteUrl.url) : siteUrl.url == null;
  }
  
  @Override
  public String toString() {
    return "SiteUrl{" +
        "level=" + level +
        ", url='" + url + '\'' +
        '}';
  }
  
  @Override
  public int hashCode() {
    return url != null ? url.hashCode() : 0;
  }
}
